package me.stone.stanimeclient.core.common.di


import javax.inject.Qualifier


@Retention(AnnotationRetention.BINARY)
@Qualifier
annotation class DefaultDispatcher

@Retention(AnnotationRetention.BINARY)
@Qualifier
annotation class IoDispatcher

@Retention(AnnotationRetention.BINARY)
@Qualifier
annotation class MainDispatcher

@Retention(AnnotationRetention.BINARY)
@Qualifier
annotation class MainImmediateDispatcher


@Retention(AnnotationRetention.BINARY)
@Qualifier
annotation class ApplicationScope


@Qualifier
@Target(
    AnnotationTarget.FUNCTION,
    AnnotationTarget.PROPERTY_GETTER,
    AnnotationTarget.PROPERTY_SETTER,
    AnnotationTarget.FIELD,
    AnnotationTarget.VALUE_PARAMETER
)
annotation class MainThreadHandler


@Retention(AnnotationRetention.BINARY)
@Qualifier
annotation class DiskExecutor

@Retention(AnnotationRetention.BINARY)
@Qualifier
annotation class NetworkExecutor

@Retention(AnnotationRetention.BINARY)
@Qualifier
annotation class MainExecutor